package cn.jtfadmin.sysmonitor.domain.dto;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 操作系统信息
 * @author jtf
 * @since 0.0.2
 */
@Data
public class OperatingSystemInfoDTO implements Serializable {

    /**
     * 系统运行时间 单位秒
     */
    protected long systemUptime;

    /**
     * 系统运行时间 可视化
     */
    protected String displaySystemUptime;


    /**
     * 系统启动时间 unix 时间
     */
    protected long systemBootTime;

    /**
     * 系统启动时间
     */
    protected LocalDateTime displaySystemBootTime;

    /**
     * 是否具有超级管理员权限
     */
    protected boolean elevated;


    /**
     * 操作系统制造商
     */
    protected String manufacturer;

    /**
     * 系统
     */
    protected String family;

    /**
     * 版本号
     */
    protected String version;

    public OperatingSystemInfoDTO() {
    }

    public OperatingSystemInfoDTO(long systemUptime, String displaySystemUptime, long systemBootTime, LocalDateTime displaySystemBootTime, boolean elevated, String manufacturer, String family, String version) {
        this.systemUptime = systemUptime;
        this.displaySystemUptime = displaySystemUptime;
        this.systemBootTime = systemBootTime;
        this.displaySystemBootTime = displaySystemBootTime;
        this.elevated = elevated;
        this.manufacturer = manufacturer;
        this.family = family;
        this.version = version;
    }
}
